A quick path interconnect (QPI) technology is widely applied to data exchange between central processing units (CPUs) of a multi-processor platform, is a serial high-speed point-to-point connection protocol based on data packet transmission, and performs data transmission by adopting a differential signal and a dedicated clock, so as to implement direct interconnection between the CPUs, thereby providing a relatively higher access bandwidth. An interface protocol based on a QPI bus includes a physical layer (also referred to as a lower layer), a link layer, and a protocol layer (also referred to as an upper layer). The physical layer is responsible for receiving a data packet sent by an external CPU and sending a data packet to the external CPU. The protocol layer is responsible for internal communication between a QPI port and a CPU where the port is located. The link layer is located between a protocol side and the physical layer, and is responsible for sending a data packet from the protocol layer to the external CPU through the physical layer, decoding the data packet received by the physical layer, and sending, through the protocol layer, the successfully decoded data packet to the CPU where the port is located.
To improve reliability of data transmission between different CPUs in a QPI system, a data packet retransmission mechanism is introduced into the link layer in the QPI technology. In the QPI system, if a local link layer has detected that a data packet sent by a remote node is faulty, a retry request is sent to the remote node through a local physical layer, and used for requesting retransmission of the faulty data packet. Due to factors such as a link delay, in a period from the determining reception of the faulty data packet by the local link layer to the retransmitting the faulty data packet by the remote node, the remote node continuously sends one or multiple data packets to a local, and the local link layer discards each data packet received by the local physical layer and received after the faulty data packet. A link layer of the remote node determines, according to the retry request, that a data packet needs to be retransmitted, and retransmits, through a physical layer of the remote node all data packets sent after the faulty data packet to the local.
In an existing QPI system, when a transmitted data packet is faulty, the link layer of the remote node retransmits all the data packets sent after the faulty data packet, including a data packet already sent to the local by the link layer of the remote node, thereby causing a waste of system bandwidth resources.